#pragma once

#include "../SGD Wrappers/SGD_GraphicsManager.h"


class Tile {

	unsigned int m_row;
	unsigned int m_column;
	unsigned int m_type;
	unsigned int m_textnum;

	float m_width;
	float m_height;

	SGD::HTexture m_texture = SGD::INVALID_HANDLE;

	SGD::Rectangle m_tileRect;

	enum type {
		E_BASE,
		E_IMPASSABLE,
		E_BIOPOOL,
		E_BUSH,
		E_PLAYERSPAWN,
	};

public:

	Tile();
	Tile(unsigned int row, unsigned int column, unsigned int type, float width, float height, unsigned int texture, SGD::Rectangle rect);
	~Tile();

		//	Accessors | Mutators
	unsigned int GetTileRow(){ return m_row; }
	unsigned int GetTileColumn(){ return m_column; }
	unsigned int GetTileType(){ return m_type; }

	float GetTileWidth(){ return m_width; }
	float GetTileHeight(){ return m_height; }

	SGD::HTexture GetTileTexture(){ return m_texture; }
	SGD::Rectangle GetTileRect(){ return m_tileRect; }

	void SetTileRow(unsigned int num){ m_row = num; }
	void SetTileColumn(unsigned int num){ m_column = num; }
	void SetTileType(unsigned int t){ m_type = t; }
	void SetTileWidth(float w){ m_width = w; }
	void SetTileHeight(float h){ m_height = h; }
	void SetTileTexture(SGD::HTexture texture){ m_texture = texture; }
	void SetTileRect(SGD::Rectangle rect){ m_tileRect = rect; }
};

